14744
15278
Erre a kérdésre már itt vannak válaszok:
Hogyan adhatom vissza a választ egy aszinkron hívásból?
(42 válasz)
5 hónappal ezelőtt zárva.
Tehát a következő kód futtatásakor a console.log (ba) válasza nincs meghatározva
De amikor megpróbálom ezt a Chrome V8 konzolon, akkor a megfelelő kimenetet kapom, amire számítok. Nem vagyok teljesen biztos benne, mi folyik itt.
hadd ba;
függvény Setqa () {
(async () => {
várja a letöltést ('questions.json')
.majd (res => res.json ())
.akkor (async (adatok) => {
ba = várjon adatokat;
});
}) ();
}
Setqa ();
console.log (ba);
A Json fájl tartalma a következő:
"kérdések": [{
"questionType": "többszörös",
"kérdés": "Milyen az időjárás",
"válaszok": "",
"kérdés válasz": ""
},
{
"questionType": "többszörös",
"kérdés": "Hogy vagy ma?",
"válaszok": " 1",
"questionAnswer": "textPurpose1"
}
] 
Azt hiszem, ennek működnie kell
hadd ba;
függvény Setqa () {
return fetch ('kérdések.json')
.majd (res => res.json ())
.akkor (async (adatok) => {
ba = várjon adatokat;
});
}
Setqa (). Majd (() => console.log (ba));
De jobb megközelítés lenne
async függvény setQa () {
const res = várja a letöltést ('kérdések.json');
return res.json ();
}
legyen ba = várjon setQa ();
|
Nem a keresett válasz? Böngésszen a javascript json fetch console.log címkével ellátott többi kérdésben, vagy tegye fel saját kérdését.